home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / program / dtswps.zip / DTSFILES.ZIP / WPTYPES.IDL < prev   
Text File  |  1996-04-18  |  22KB  |  564 lines

  1. // ------------------------------------------------------------------
  2. // File:  wptypes.idl
  3. //
  4. // This file contains the IDL type definitions for the foreign types
  5. // defined in the WPSH IDL files.
  6. //
  7. // ------------------------------------------------------------------
  8. #ifndef WPTYPES_IDL                                                            // EEO:
  9. #define WPTYPES_IDL                                                            // EEO:
  10.  
  11. interface WPObject;
  12. interface WPFolder;
  13. interface M_WPObject;
  14. #define VOID           void
  15. #define LONG           long
  16. #define CHAR           char
  17. typedef unsigned long  ULONG;
  18. typedef ULONG         *PULONG;
  19. typedef ULONG          HWND;
  20. typedef octet          BYTE;
  21. typedef octet         *PBYTE;
  22. typedef string         PSZ;
  23. typedef long           BOOL32;
  24. typedef long            BOOL;
  25. typedef unsigned short USHORT;
  26. typedef USHORT        *PUSHORT;
  27. typedef octet          UCHAR;
  28. typedef octet         *PUCHAR;
  29. typedef PSZ           *PDEVOPENDATA;
  30. typedef ULONG          LHANDLE;
  31. typedef ULONG          HPOINTER;
  32. typedef ULONG          HBITMAP;
  33. typedef LHANDLE        HSTR;
  34. typedef LHANDLE        HMODULE;
  35. typedef LHANDLE        HFS;
  36. typedef LHANDLE        HDC;
  37. typedef LHANDLE        HAPP;
  38. typedef LHANDLE        HPS;
  39. typedef LHANDLE        HOBJECT;
  40. typedef void          *PVOID;
  41. typedef void          *MRESULT;
  42. const long CCHMAXPATH       = 260;
  43. const long CCHMAXPATHCOMP   = 256;
  44. const long MAX_ASSOC_ITEMS  = 12;
  45. const long FACESIZE         = 32;
  46. typedef MRESULT *FNWP;
  47. typedef FNWP *PFNWP;
  48. typedef BOOL *FNOWNDRW;
  49. typedef FNOWNDRW *PFNOWNDRW;
  50. typedef long *FNCOMPARE;
  51. typedef FNCOMPARE *PFNCOMPARE;
  52. struct USEITEM
  53. {
  54.     ULONG  type;                     /* Type of this Item */
  55.     USEITEM *pNext;                  /* Next item in use list */
  56. };
  57. typedef USEITEM *PUSEITEM;
  58. struct POINTL
  59. {
  60.     long  x;
  61.     long  y;
  62. } ;
  63. typedef POINTL *PPOINTL;
  64. struct MINIRECORDCORE                /* minirec */
  65. {
  66.    ULONG       cb;
  67.    ULONG       flRecordAttr;         /* record attributes             */
  68.    POINTL      ptlIcon;              /* Position of CV_ICON item      */
  69.    MINIRECORDCORE *preccNextRecord;  /*ptr to next record */
  70.    PSZ         pszIcon;              /* Text for CV_ICON view         */
  71.    HPOINTER    hptrIcon;             /* Icon to display for ~CV_MINI  */
  72. } ;
  73. typedef MINIRECORDCORE *PMINIRECORDCORE;
  74. struct TREEITEMDESC                  /* treend */
  75. {
  76.    HBITMAP       hbmExpanded;
  77.    HBITMAP       hbmCollapsed;
  78.    HPOINTER      hptrExpanded;
  79.    HPOINTER      hptrCollapsed;
  80. } ;
  81. typedef TREEITEMDESC *PTREEITEMDESC;
  82. struct RECORDCORE                    /* recc */
  83. {
  84.    ULONG       cb;
  85.    ULONG       flRecordAttr;         /* record attributes             */
  86.    POINTL      ptlIcon;              /* Position of CV_ICON item      */
  87.    RECORDCORE *preccNextRecord;      /* ptr to next record  */
  88.    PSZ         pszIcon;              /* Text for CV_ICON view         */
  89.    HPOINTER    hptrIcon;             /* Icon to display for ~CV_MINI  */
  90.    HPOINTER    hptrMiniIcon;         /* Icon to display for CV_MINI   */
  91.    HBITMAP     hbmBitmap;            /* Bitmap to display for ~CV_MINI*/
  92.    HBITMAP     hbmMiniBitmap;        /* Bitmap to display for CV_MINI */
  93.    PTREEITEMDESC pTreeItemDesc;      /* Icons for the tree view       */
  94.    PSZ         pszText;              /* Text for CV_TEXT view         */
  95.    PSZ         pszName;              /* Text for CV_NAME view         */
  96.    PSZ         pszTree;              /* Text for CV_TREE view         */
  97. };
  98. typedef RECORDCORE  *PRECORDCORE;
  99. struct RECORDINSERT                  /* recins */
  100. {
  101.    ULONG       cb;
  102.    PRECORDCORE pRecordOrder;
  103.    PRECORDCORE pRecordParent;
  104.    ULONG       fInvalidateRecord;
  105.    ULONG       zOrder;
  106.    ULONG       cRecordsInsert;
  107. };
  108. typedef RECORDINSERT  *PRECORDINSERT;
  109. struct DRAGINFO
  110. {
  111.    ULONG    cbDraginfo;              /* Size of DRAGINFO and DRAGITEMs*/
  112.    USHORT   cbDragitem;              /* size of DRAGITEM              */
  113.    USHORT   usOperation;             /* current drag operation        */
  114.    HWND     hwndSource;              /* window handle of source       */
  115.    short    xDrop;                   /* x coordinate of drop position */
  116.    short    yDrop;                   /* y coordinate of drop position */
  117.    USHORT   cditem;                  /* count of DRAGITEMs            */
  118.    USHORT   usReserved;              /* reserved for future use       */
  119. };
  120. typedef DRAGINFO  *PDRAGINFO;
  121. struct DRAGITEM                      /* ditem */
  122. {
  123.    HWND    hwndItem;                 /* conversation partner          */
  124.    ULONG   ulItemID;                 /* identifies item being dragged */
  125.    HSTR    hstrType;                 /* type of item                  */
  126.    HSTR    hstrRMF;                  /* rendering mechanism and format*/
  127.    HSTR    hstrContainerName;        /* name of source container      */
  128.    HSTR    hstrSourceName;           /* name of item at source        */
  129.    HSTR    hstrTargetName;           /* suggested name of item at dest*/
  130.    short   cxOffset;                 /* x offset of the origin of the */
  131.    /*                                     image from the mouse hotspot*/
  132.    short   cyOffset;                 /* y offset of the origin of the */
  133.    /*                                     image from the mouse hotspot*/
  134.    USHORT  fsControl;                /* source item control flags     */
  135.    USHORT  fsSupportedOps;           /* ops supported by source       */
  136. } ;
  137. typedef DRAGITEM  *PDRAGITEM;
  138. struct DRAGTRANSFER                  /* dxfer */
  139. {
  140.    ULONG      cb;                    /* size of control block         */
  141.    HWND       hwndClient;            /* handle of target              */
  142.    PDRAGITEM  pditem;                /* DRAGITEM being transferred    */
  143.    HSTR       hstrSelectedRMF;       /* rendering mech & fmt of choice*/
  144.    HSTR       hstrRenderToName;      /* name source will use          */
  145.    ULONG      ulTargetInfo;          /* reserved for target's use     */
  146.    USHORT     usOperation;           /* operation being performed     */
  147.    USHORT     fsReply;               /* reply flags                   */
  148. } ;
  149. typedef DRAGTRANSFER  *PDRAGTRANSFER;
  150. struct PAGEINFO
  151. {
  152.    ULONG   cb;
  153.    HWND    hwndPage;
  154.    PFNWP   pfnwp;
  155.    ULONG   resid;
  156.    PVOID   pCreateParams;
  157.    USHORT  dlgid;
  158.    USHORT  usPageStyleFlags;
  159.    USHORT  usPageInsertFlags;
  160.    USHORT  usSettingsFlags;
  161.    PSZ     pszName;
  162.    USHORT  idDefaultHelpPanel;
  163.    USHORT  usReserved2;
  164.    PSZ     pszHelpLibraryName;
  165.    PUSHORT pHelpSubtable;   /* PHELPSUBTABLE when PMHELP.H is included*/
  166.    HMODULE hmodHelpSubtable;
  167.    ULONG   ulPageInsertId;
  168. };
  169. typedef PAGEINFO  *PPAGEINFO;
  170. struct PRINTDEST
  171. {
  172.    ULONG        cb;
  173.    long         lType;
  174.    PSZ          pszToken;
  175.    long         lCount;
  176.    PDEVOPENDATA pdopData;
  177.    ULONG        fl;
  178.    PSZ          pszPrinter;
  179. } ;
  180. typedef PRINTDEST  *PPRINTDEST;
  181. struct ICONINFO
  182. {
  183.    ULONG   cb;                  /* size of ICONINFO structure */
  184.    ULONG   fFormat;
  185.    PSZ     pszFileName;         /* use when fFormat = ICON_FILE */
  186.    HMODULE hmod;                /* use when fFormat = ICON_RESOURCE */
  187.    ULONG   resid;               /* use when fFormat = ICON_RESOURCE */
  188.    ULONG   cbIconData;          /* use when fFormat = ICON_DATA     */
  189.    PVOID   pIconData;           /* use when fFormat = ICON_DATA     */
  190. } ;
  191. typedef ICONINFO  *PICONINFO;
  192. struct TASKREC
  193. {
  194.    TASKREC         *next;     /* next in the list of current tasks   */
  195.    ULONG            useCount; /* can be referenced by multiple object*/
  196.    PVOID            pStdDlg;  /* ptr to standard WP task dialog      */
  197.    WPFolder        *folder;   /* intended folder for the object      */
  198.    long             xOrigin;  /* intended position for the object    */
  199.    long             yOrigin;  /* intended position for the object    */
  200.    PSZ              pszTitle; /* intended name for the object        */
  201.    ULONG            cbTitle;  /* length of the name buffer           */
  202.    PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */
  203.    BOOL             fKeepAssociations;
  204.    PVOID            pReserved;    /* reserved - equal null           */
  205. } ;
  206. typedef TASKREC *PTASKREC;
  207. struct WPSRCLASSBLOCK
  208. {
  209.   short   ClassNameLength;       /* Length of class name, including the
  210.                                   * .. null terminator. This must be a
  211.                                   * .. SHORT and must be at the beginning
  212.                                   * .. of the structure.
  213.                                   */
  214.   USHORT  IVarLength;            /* Length of instance variable
  215.                                   * .. information, including the two-
  216.                                   * .. byte null terminator
  217.                                   */
  218. };
  219. struct OBJDATA
  220. {
  221.    WPSRCLASSBLOCK       *CurrentClass;
  222.    WPSRCLASSBLOCK       *First;
  223.    PUCHAR                NextData;
  224.    USHORT                Length;
  225. };
  226. typedef OBJDATA *POBJDATA;
  227. typedef ULONG HMTX;
  228. struct VIEWITEM                  /* USAGE_OPENVIEW struct */
  229. {
  230.    ULONG        view;            /* Object view that this represents */
  231.    LHANDLE      handle;          /* Open handle */
  232.    ULONG        ulViewState;     /* View State flags */
  233.    HWND         hwndCnr;         /* System use only (window animation) */
  234.    PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  235. } ;
  236. typedef VIEWITEM *PVIEWITEM;
  237. typedef long  *PLONG;
  238. struct CLASSDETAILS              /* Class Details struct */
  239. {
  240.    PSZ          pszAttribute;    /* Translatable string for a class attribute*/
  241.    PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/
  242.    CLASSDETAILS *pNext;          /* Next item in class details list */
  243. } ;
  244. typedef CLASSDETAILS *PCLASSDETAILS;
  245. struct CLASSFIELDINFO               /*!INC*/
  246. {
  247.    /* Details field attributes
  248.     */
  249.    ULONG      cb;                   /* size of CLASSFIELDINFO struct  */
  250.    ULONG      flData;               /* attributes of field's data     */
  251.    ULONG      flTitle;              /* attributes of field's title    */
  252.    PVOID      pTitleData;           /* title data (default is string) */
  253.                                     /* If CFT_BITMAP, must be HBITMAP */
  254.    ULONG      ulReserved;           /* Reserved                       */
  255.    PVOID      pUserData;            /* pointer to user data           */
  256.    CLASSFIELDINFO  *pNextFieldInfo; /* pointer to next linked         */
  257.                                           /* CLASSFIELDINFO structure */
  258.    ULONG      cxWidth;              /* width of field in pels         */
  259.    ULONG      offFieldData;         /* offset from beginning of       */
  260.                                     /*   this class's data for this   */
  261.                                     /*   field. (first field is 0).   */
  262.    ULONG      ulLenFieldData;       /* width of data in bytes.        */
  263.                                     /*   (4 for a pointer).           */
  264.    PFNOWNDRW  pfnOwnerDraw;         /* Ownerdraw procedure for detail */
  265.                                     /* column. Can be NULL except if  */
  266.                                     /* ownerdraw is being used.       */
  267.    /* Include/Sort parameters
  268.     */
  269.    ULONG      flCompare;            /* Flags: for example, use the    */
  270.                                     /*   COMPARE_SUPPORTED flag if    */
  271.                                     /*   your field can be compared   */
  272.    PFNCOMPARE pfnCompare;           /* Comparison function for this   */
  273.                                     /*   field. Can be NULL unless    */
  274.                                     /*   ownerdraw is used.           */
  275.    ULONG      DefaultComparison;    /* This is the default compare    */
  276.                                     /*   operator in the include      */
  277.                                     /*   page criteria dialog. (eg:   */
  278.                                     /*   CMP_LESS_OR_EQUAL)           */
  279.    ULONG      ulLenCompareValue;    /* Maximum length of the compare  */
  280.                                     /*   data. Can be NULL unless     */
  281.                                     /*   ownerdraw is used.           */
  282.    PVOID      pDefCompareValue;     /* The default value to be used   */
  283.                                     /*   for comparisons. Can be NULL */
  284.                                     /*   unless ownerdraw is used.    */
  285.    PVOID      pMinCompareValue;     /* The default value to be used   */
  286.                                     /*   for comparisons.Can be NULL  */
  287.                                     /*   unless ownerdraw is used.    */
  288.    PVOID      pMaxCompareValue;     /* The default value to be used   */
  289.                                     /*   for comparisons.Can be NULL  */
  290.                                     /*   unless ownerdraw is used.    */
  291.    PSZ        pszEditControlClass;  /* Window class to be used to edit*/
  292.                                     /*   the compare value. Can be    */
  293.                                     /*   NULL unless ownerdraw is used*/
  294.    PFNCOMPARE pfnSort;              /* Sort function for this @SM09511*/
  295.                                     /*   field. Can be NULL unless    */
  296.                                     /*   ownerdraw is used.           */
  297. } ;
  298. typedef CLASSFIELDINFO *PCLASSFIELDINFO;
  299. typedef ULONG       HFIND;
  300. typedef HFIND      *PHFIND;
  301. typedef WPObject   *OBJECT;
  302. typedef OBJECT     *POBJECT;
  303. typedef M_WPObject *CLASS;
  304. typedef CLASS      *PCLASS;
  305. struct SIZEL
  306. {          /* sizl */
  307.    long cx;
  308.    long cy;
  309. } ;
  310. typedef SIZEL  *PSIZEL;
  311. struct FEA2
  312. {
  313.     ULONG   oNextEntryOffset;                   /* new field */
  314.     BYTE    fEA;
  315.     BYTE    cbName;
  316.     USHORT  cbValue;
  317.     char    szName[1];                          /* new field */
  318. } ;
  319. typedef FEA2 *PFEA2;
  320. struct FEA2LIST
  321. {
  322.     ULONG   cbList;
  323.     FEA2    list[1];
  324. };
  325. typedef FEA2LIST *PFEA2LIST;
  326. /* *** NOTE ***
  327.  * The FDATE and FTIME structures are represented as bit fields and only
  328.  * utilize less than 32 bits for the entire structure. Therefore we have
  329.  * replaced the bit field structure definitions with a single unsigned
  330.  * short, which maps to the equivalent in memory.  This should ensure
  331.  * that DSOM passes the right stuff!
  332.  */
  333. struct FDATE
  334. {
  335.    USHORT date;
  336.    /*
  337.     * USHORT day   : 5;
  338.     * USHORT month : 4;
  339.     * USHORT year  : 7;
  340.     */
  341. } ;
  342. typedef FDATE   *PFDATE;
  343. struct FTIME
  344. {
  345.    USHORT time;
  346.    /*
  347.     * USHORT twosecs : 5;
  348.     * USHORT minutes : 6;
  349.     * USHORT hours   : 5;
  350.     */
  351. } ;
  352. typedef FTIME   *PFTIME;
  353. struct FILEFINDBUF4                            /* findbuf4 */
  354. {
  355.    ULONG   oNextEntryOffset;                   /* new field */
  356.    FDATE   fdateCreation;
  357.    FTIME   ftimeCreation;
  358.    FDATE   fdateLastAccess;
  359.    FTIME   ftimeLastAccess;
  360.    FDATE   fdateLastWrite;
  361.    FTIME   ftimeLastWrite;
  362.    ULONG   cbFile;
  363.    ULONG   cbFileAlloc;
  364.    ULONG   attrFile;                           /* widened field */
  365.    ULONG   cbList;
  366.    UCHAR   cchName;
  367.    char    achName[CCHMAXPATHCOMP];
  368. } ;
  369. typedef FILEFINDBUF4    *PFILEFINDBUF4;
  370. struct INFOCLASS
  371. {
  372.    ULONG    flags;
  373.    PSZ      pszClass;
  374.    ULONG    cbObjData;
  375.    POBJDATA pObjData;
  376. };
  377. typedef INFOCLASS * PINFOCLASS;
  378. struct CDATE                            /* cdate */
  379. {
  380.    UCHAR   day;                         /* current day               */
  381.    UCHAR   month;                       /* current month             */
  382.    USHORT  year;                        /* current year              */
  383. } ;
  384. typedef CDATE *PCDATE;
  385. struct CTIME                            /* ctime */
  386. {
  387.    UCHAR   hours;                       /* current hour              */
  388.    UCHAR   minutes;                     /* current minute            */
  389.    UCHAR   seconds;                     /* current second            */
  390.    UCHAR   ucReserved;                  /* reserved                  */
  391. } ;
  392. typedef CTIME *PCTIME;
  393. struct FILEDETAILS
  394. {
  395.    PSZ      pszRealName;     /* Real name */
  396.    ULONG    ulSize;          /* Size of the file */
  397.    CDATE    cdateLastMod;    /* Last modification date */
  398.    CTIME    ctimeLastMod;    /* Last modification time */
  399.    CDATE    cdateLastAccess; /* Last access date */
  400.    CTIME    ctimeLastAccess; /* Last access time */
  401.    CDATE    cdateCreation;   /* Date of creation */
  402.    CTIME    ctimeCreation;   /* Time of creation */
  403.    ULONG    ulFlags;         /* File flags */
  404. } ;
  405. typedef FILEDETAILS * PFILEDETAILS;
  406. struct FILESYS_SEARCH_INFO
  407. {
  408.   USHORT Exclude;
  409.   USHORT MustHave;
  410.   BOOL   fIncludeLMD;
  411.   USHORT LMDyear;
  412.   USHORT LMDmonth;
  413.   USHORT LMDday;
  414.   short  LMDcriteria;
  415.   BOOL   fIncludeLMT;
  416.   USHORT LMThours;
  417.   USHORT LMTminutes;
  418.   USHORT LMTseconds;
  419.   short  LMTcriteria;
  420.   BOOL   fIncludeFDS;
  421.   ULONG  FDSsize;
  422.   short  FDScriteria;
  423.   BOOL   fIncludeFEAS;
  424.   ULONG  FEASsize;
  425.   short  FEAScriteria;
  426.   BOOL   fMustHaveNeedEA;
  427.   BOOL   fMustNotHaveNeedEA;
  428. };
  429. typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;
  430. struct TRANSINFO
  431. {
  432.    TRANSINFO         *pNext;         /* Next structure */
  433.    WPObject           Object;        /* Object pointer  rcsom2 removed * */
  434.    ULONG              Handle;        /* Object handle (low word only) */
  435. } ;
  436. typedef TRANSINFO *PTRANSINFO;
  437. typedef LHANDLE HPROGRAM;       /* hprog */
  438. struct SWP    /* swp */
  439. {
  440.    ULONG   fl;
  441.    long    cy;
  442.    long    cx;
  443.    long    y;
  444.    long    x;
  445.    HWND    hwndInsertBehind;
  446.    HWND    hwnd;
  447.    ULONG   ulReserved1;
  448.    ULONG   ulReserved2;
  449. } ;
  450. typedef SWP *PSWP;
  451. typedef ULONG PROGCATEGORY;
  452. typedef PROGCATEGORY *PPROGCATEGORY;
  453. struct PROGTYPE
  454. {
  455.     PROGCATEGORY progc;
  456.     ULONG        fbVisible;
  457. } ;
  458. typedef PROGTYPE *PPROGTYPE;
  459. struct PROGDETAILS
  460. {
  461.       ULONG     Length;         /* set this to sizeof(PROGDETAILS)  */
  462.       PROGTYPE  progt;
  463.       PSZ       pszTitle;       /* any  of the pointers can be NULL  */
  464.       PSZ       pszExecutable;
  465.       PSZ       pszParameters;
  466.       PSZ       pszStartupDir;
  467.       PSZ       pszIcon;
  468.       PSZ       pszEnvironment; /* this is terminated by  /0/0      */
  469.       SWP       swpInitial;     /* this replaces XYWINSIZE          */
  470. } ;
  471. typedef  PROGDETAILS *PPROGDETAILS;
  472. struct ICONPOS
  473. {
  474.    POINTL  ptlIcon;                    /* Location */
  475.    char    szIdentity[1];              /* Object identity string */
  476. } ;
  477. typedef ICONPOS *PICONPOS;
  478. struct SEARCH_INFO {
  479.    M_WPObject *ClassToBeFound;
  480.    BOOL       fSkipExtendedSearchCriteria;
  481.    PVOID      pvoidExtendedCriteria;
  482. } ;
  483. typedef SEARCH_INFO *PSEARCH_INFO;
  484. typedef  ULONG    HEV;
  485. struct LINKITEM                  /* USAGE_LINK struct */
  486. {
  487.    WPObject    *LinkObj;         /* The link object */
  488. } ;
  489. typedef LINKITEM *PLINKITEM;
  490. struct CRITERIA
  491. {
  492.    PVOID            pReserved;           /* Reserved - MUST be null!!!! */
  493.    CRITERIA        *pNext;
  494.    CRITERIA        *pPrev;
  495.    ULONG            ClassFieldInfoIndex; /* Index of the details field  */
  496.    ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */
  497.    ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */
  498.    ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */
  499.    char             CompareValue[1];     /* Value to be compared with   */
  500. };
  501. typedef CRITERIA *PCRITERIA;
  502. typedef LHANDLE HFOBJ;
  503. struct CELL
  504. {
  505.    ULONG       cbData;           /* Size of the data that follows */
  506.    /* Class specific cell data follows immediately afterwards -
  507.     * for example the font palette would store the ASCII name of
  508.     * the font, and the color palette would store the RGB color
  509.     * of the cell.
  510.     */
  511. };
  512. typedef CELL *PCELL;
  513. struct RECTL                     /* rcl */
  514. {
  515.     long  xLeft;
  516.     long  yBottom;
  517.     long  xRight;
  518.     long  yTop;
  519. } ;
  520. typedef RECTL *PRECTL;
  521. struct PALINFO
  522. {
  523.    ULONG       xCellCount;       /* Number of columns of cells */
  524.    ULONG       yCellCount;       /* Number of rows of cells */
  525.    ULONG       xCursor;          /* Cursor location (readonly) */
  526.    ULONG       yCursor;          /* Cursor location (readonly) */
  527.    ULONG       xCellWidth;       /* Width of each cell */
  528.    ULONG       yCellHeight;      /* Height of each cell */
  529.    ULONG       xGap;             /* X separation of cells */
  530.    ULONG       yGap;             /* Y separation of cells */
  531. };
  532. typedef PALINFO *PPALINFO;
  533. struct CELLSTRUCT
  534. {
  535.    RECTL       rclCell;          /* Cell coordinates */
  536.    PCELL       pCell;            /* Cell data pointer */
  537. } ;
  538. typedef CELLSTRUCT *PCELLSTRUCT;
  539. struct CLASSCRITERIA                                     /*!INC*/
  540. {
  541.    CLASSCRITERIA         *pNext;
  542.    CLASSCRITERIA         *pPrev;
  543.    M_WPObject            *Class;          /* Class object */
  544.    PCRITERIA              pCriteria;      /* Linked list of criteria */
  545.    WPObject              NotifyObject;   /* Owner of the criteria list rcsom2 removed * */
  546. } ;
  547. typedef CLASSCRITERIA *PCLASSCRITERIA;
  548. struct FATTRS                           /* fat */
  549. {
  550.    USHORT  usRecordLength;
  551.    USHORT  fsSelection;
  552.    long    lMatch;
  553.    char    szFacename[FACESIZE];
  554.    USHORT  idRegistry;
  555.    USHORT  usCodePage;
  556.    long    lMaxBaselineExt;
  557.    long    lAveCharWidth;
  558.    USHORT  fsType;
  559.    USHORT  fsFontUse;
  560. } ;
  561. typedef FATTRS *PFATTRS;
  562.  
  563. #endif /* WPTYPES_IDL  */                                                      // EEO:
  564.